package cn.tedu.API;
/**
 * @Author 金帮嘉诚  @Date 2021-06-16 周三 11:47
 */
/*本类用于测试常用包装类*/

/**
 * 知识点：
 * 包装类
 */
public class TestNumber {
    static Integer i0;

    public static void main(String[] args) {
        /*1.Integer类型默认值null*/
        System.out.println("i0 = " + i0);

        Integer i1 = new Integer(5);
        Integer i2 = new Integer(5);
        System.out.println("(i1==i2) = " + (i1==i2));//比较地址值，false
        System.out.println("i1.equals = " + i1.equals(i2));//true

        /*Integer类型的数据，使用valueOf（）创建的数据，有高效的效果，注意范围（-128-127），
        * 在此范围内，数据只会存一次，后续再存都是直接使用之前存过的数据
        * 条件
        * 1.Integer
        * 2.valueOf
        * 3.值相等*/
        Integer i3=Integer.valueOf(127);
        Integer i4=Integer.valueOf(127);
        System.out.println("(i3==i4) = " + (i3==i4));//true 有高效的效果

        Integer i5=Integer.valueOf(129);
        Integer i6=Integer.valueOf(129);
        System.out.println("(i5==i6) = " + (i5==i6));//false 超出范围没有高效的效果

        Double d1=new Double(3.14);
        Double d2=new Double(3.14);

        /*Double没有高效的效果，只有Integer才有*/
        //Double没有高效
        Double d3=Double.valueOf(3.14);
        Double d4=Double.valueOf(3.14);
        System.out.println("d1==d2 = "+(d1==d2));//false，两个对象
        System.out.println("d3==d4 = "+(d3==d4));//false，两个对象，没有高效
        System.out.println("d2==d3 = "+(d2==d3));//false，两个对象

        System.out.println("(i1.parseInt(\"600\")+10.5) = " + (i1.parseInt("600")+10.5));//610.5
        System.out.println("(d1.parseDouble(\"2.2\")+1) = " + (d1.parseDouble("2.2")+1));//3.2
    }
}
